package com.sugar.queryinfo.module.business.controller.admin.userbalancerecord.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 余额变动记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class UserBalanceRecordRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19227")
    @ExcelProperty("ID")
    private Long id;

    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28522")
    @ExcelProperty("用户ID")
    private Long userId;

    @Schema(description = "昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2964")
    @ExcelProperty("昵称")
    private String nickname;

    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2964")
    @ExcelProperty("用户账号")
    private String username;

    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2964")
    @ExcelProperty("手机号")
    private String mobile;

    @Schema(description = "部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "944")
    @ExcelProperty("部门ID")
    private Long deptId;

    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2964")
    @ExcelProperty("部门名称")
    private String deptName;

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("标题")
    private String title;

    @Schema(description = "类型（0支出 1收入）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("类型（0支出 1收入）")
    private Boolean type;

    @Schema(description = "记录时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("记录时间")
    private LocalDateTime recordTime;

    @Schema(description = "变动前余额", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("变动前余额")
    private BigDecimal preBalance;

    @Schema(description = "变动金额", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("变动金额")
    private BigDecimal amount;

    @Schema(description = "变动后余额", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("变动后余额")
    private BigDecimal postBalance;

    @Schema(description = "备注", example = "随便")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
